Data Engineer - Professional 练习题 — 数据工程师 - 专业级

1. 题库联网,会自动更新,无需重新获取;

2. 激活题库立即做题,支持网站、小程序同时做题,每题双语一键切换;

3. 包含在线练习,模拟测试,笔记、错题记录等功能,有效期一年;

4. 建议做题顺序:开背题模式看题➡️顺序练习做题➡️模拟考试 考前自测

5. 激活码可点击右侧 立即购买,或通过天猫旗舰店购买;

6. 有问题可通过小程序、微信、WhatsApp、LINE 联系客服。

考试信息

一、认证核心概述


 认证名称  Databricks Certified Data Engineer Professional(Databricks认证资深数据工程师)  

 认证级别  Professional资深级,面向具备1年+生产落地经验的数据工程师  

 核心定位  考核企业级Lakehouse大规模数据架构设计、复杂流水线开发、性能深度优化、全链路治理与生产落地,聚焦大型分布式数据工程实战  

 有效期  2年,到期需重考续证  

 推荐经验  1年以上Databricks生产落地经验,独立负责端到端数据项目;熟练Delta、DLT、Unity Catalog、Spark性能调优  

 前置条件  无硬性报考门槛,行业普遍建议先考取Data Engineer Associate再备考本证书  


二、考试基本信息


 考试代码  DEP-C200  

 题目数量  60道计分单选题,含少量不计分调研题(不标注)  

 考试时长  120分钟(含不计分试题作答时间)  

 考试费用  USD300+当地税费  

 考试语言  英文、日文、韩语、巴西葡萄牙语  

 考试形式  Kryterion远程线上监考 / 线下授权考点机考  

 题型  全单选,高难度复杂业务场景题,大量架构选型、故障排查、性能优化题干  

 及格分数  官方未公布分数线,行业参考合格线≈72%  

 考试结果  考完即时出Pass/Fail结果,24h内Databricks账号下载电子证书  

 重考规则  首考挂科:间隔14天;二次失利:间隔30天;三次及以上失败:间隔60天  


样题

Data Engineer - Professional · Q1
问题 #1 上游系统已配置为将给定数据批次的日期作为参数传递给 Databricks Jobs API。待调度的 notebook 将使用此参数通过以下代码加载数据:`df = spark.read.format("parquet").load(f"/mnt/source/(date)")`。 应该使用哪个代码块来创建上述代码块中使用的日期 Python 变量?
  • A.
    date = spark.conf.get("date")
  • B.
    input_dict = input() date = input_dict["date"]
  • C.
    导入 sys 日期 = sys.argv[1]
  • D.
    date = dbutils.notebooks.getParam("date")
  • E.
    dbutils.widgets.text("date", "null") date = dbutils.widgets.get("date")

答案: E

本题场景是上游通过Databricks Jobs API传递date参数到调度运行的Notebook,Databricks官方规定接收作业传入参数的标准流程是先通过dbutils.widgets定义对应名称的参数组件,再通过get方法获取参数值,该方式同时支持手动运行Notebook时手动输入参数、作业API调用时传入参数两种场景,E选项完全符合该标准实现逻辑,能够正确获取到Jobs API传递的date参数供后续加载数据使用。 各选项分析: A. spark.conf.get方法用于获取Spark运行时的配置参数,Databricks Jobs API传递给Notebook的参数不会存入Spark配置中,无法通过该方法获取,因此A错误。 B. input()是Python原生的标准输入读取方法,仅支持交互式运行时手动输入参数,Databricks作业调度运行时不会通过标准输入传递参数,无法获取Jobs API传入的date值,因此B错误。 C. sys.argv是Python用于获取命令行启动参数的模块,Databricks Notebook的作业参数不是通过命令行参数传递的,无法通过sys.argv获取,且变量名使用中文不符合常规开发规范也不匹配后续代码的date变量名,因此C错误。 D. dbutils.notebooks模块不存在getParam方法,该方法名为虚构内容,无法实现参数获取,因此D错误。 E. 首先通过dbutils.widgets.text定义了名称为date的文本类型参数组件,设置默认值为null,再通过dbutils.widgets.get方法获取该参数的值,这是Databricks官方推荐的接收作业API传入参数的标准实现,可正确获取到上游传递的date参数,因此E正确。 关键知识点: 1. Databricks作业参数传递机制:通过Jobs API向Notebook作业传递的参数,需要通过Notebook预先定义的Widgets组件接收,不能通过Python原生参数获取方式或Spark配置读取。 2. Databricks dbutils.widgets模块使用规范:该模块用于定义Notebook的入参,支持文本、下拉等多种参数类型,定义后可通过get方法获取参数值,同时兼容交互式运行和作业调度两种场景。 3. Databricks作业调度规范:调用Jobs API运行Notebook时,传入的参数会自动匹配对应名称的Widgets组件完成值注入,无需额外配置即可正常读取。 参考资料: Databricks Widgets 官方文档, https://docs.databricks.com/notebooks/widgets.html Databricks 作业参数配置官方文档
Data Engineer - Professional · Q2
问题 #2 Databricks 工作区管理员已为每个数据工程组配置了交互式集群。为控制成本,集群设置为在 30 分钟无活动后终止。每个用户应能够在一天中的任何时间对其分配的集群执行工作负载。 假设用户已添加到工作区但尚未被授予任何权限,以下哪项描述了用户启动并连接到已配置集群所需的最低权限?
  • A.
    对所需集群拥有“可管理”权限
  • B.
    工作区管理员权限,允许创建集群,对所需集群具有“可附加到”权限
  • C.
    允许创建集群,对所需集群具有“可附加到”权限
  • D.
    对所需集群拥有“可重启”权限
  • E.
    允许创建集群,对所需集群拥有“可重启”权限

答案: D

本题考察Databricks集群权限的最低权限分配原则,结合题目场景,管理员已经预先为各组配置好了交互式集群,集群会因30分钟无活动自动终止,用户仅需要启动已终止的目标集群、并连接集群执行负载,无需修改集群配置、创建新集群或管理集群权限。Databricks的集群权限体系中,对目标集群的“可重启”权限刚好覆盖了该场景的全部需求:既允许用户启动处于终止状态的预配置集群,也默认包含了连接运行中集群的能力,同时没有授予超出需求的多余权限,符合最低权限要求。 各选项分析: A. 错误。“可管理”权限属于集群的最高权限,除了启动、连接集群外,还允许修改集群配置、删除集群、修改集群权限等超出题目需求的能力,不符合最低权限要求。 B. 错误。首先用户不需要工作区管理员权限,该权限范围过大,其次集群已经由管理员预先配置完成,用户不需要创建集群的权限,该选项包含大量多余权限,不符合要求。 C. 错误。一方面集群已经预先存在,用户不需要创建集群的权限,另一方面仅“可附加到”权限仅允许用户连接已经处于运行状态的集群,无法启动因无活动自动终止的集群,无法满足题目需求。 D. 正确。“可重启”权限允许用户启动已终止的目标集群,同时包含了附加到运行中集群的能力,完全覆盖题目中用户启动并连接集群的需求,且没有授予多余权限,是符合要求的最低权限。 E. 错误。集群已经由管理员预先配置完成,用户不需要创建集群的权限,该选项包含多余权限,不符合最低权限要求。 关键知识点: 1. Databricks集群访问控制权限体系,不同权限等级对应的操作范围:可查看仅能查看集群信息,可附加到仅能连接运行中的集群,可重启允许启动、重启集群并连接,可管理允许所有集群相关操作。 2. 数据权限配置的最低权限原则,即仅授予用户完成其工作所需的最小权限集合,避免权限过度分配带来的安全和成本风险。 3. Databricks自动终止集群的操作权限要求,启动已终止的预配置集群不需要集群创建权限,仅需要对应集群的可重启权限即可。 参考资料: 1. Databricks 集群访问控制官方文档, https://docs.databricks.com/security/access-control/cluster-acl.html 2. Databricks 专业数据工程师认证官方技能大纲, https://www.databricks.com/learn/certification/data-engineer-professional
Data Engineer - Professional · Q3
问题 #3 在为生产环境调度结构化流作业时,哪种配置可以自动从查询失败中恢复并保持低成本?
  • A.
    集群:新建作业集群; 重试次数:无限制; 最大并发运行数:无限制
  • B.
    集群:新建作业集群; 重试次数:无; 最大并发运行数:1
  • C.
    集群:现有通用集群; 重试次数:无限制; 最大并发运行数:1
  • D.
    集群:新建作业集群; 重试次数:无限制; 最大并发运行数:1
  • E.
    集群:现有通用集群; 重试次数:无; 最大并发运行数:1

答案: D

本题核心需求有两点,一是生产环境结构化流作业可自动从查询失败恢复,二是保持低成本。首先,自动故障恢复要求作业配置足够的故障重试次数,无限制重试可确保任意故障场景下作业都能自动重启,无需人工介入。其次,结构化流属于有状态的连续处理作业,同一时间仅允许单个运行实例,否则会出现状态冲突、数据重复消费或处理错误的问题,因此最大并发运行数必须设为1。成本层面,新建作业集群是按需启动的专属集群,仅在作业运行时分配资源计费,作业停止或故障时资源会自动释放,相比长期运行的现有通用集群,不存在闲置资源开销,成本更低。选项D的配置同时满足所有需求,因此为正确答案。 各选项分析: A. 错误,最大并发运行数无限制会导致同一结构化流查询同时运行多个实例,引发状态冲突、数据重复处理的问题,同时多实例运行会大幅提升资源成本,不符合要求。 B. 错误,重试次数为无的情况下,作业查询失败后不会自动重启,无法实现故障自动恢复,不满足题目核心需求。 C. 错误,使用现有通用集群时,集群长期处于运行状态,无论作业是否正常运行都会产生资源费用,相比按需创建的作业集群成本更高,不符合低成本的要求。 D. 正确,新建作业集群按需启停,无闲置资源开销,成本最优;重试次数无限制可实现故障后自动重启恢复;最大并发运行数为1保证流作业只有单个实例运行,避免状态和数据异常,完全满足题目需求。 E. 错误,重试次数为无不支持故障自动恢复,且使用现有通用集群成本更高,两项核心需求都不满足。 关键知识点: 1. Spark结构化流生产部署要求:结构化流为有状态连续处理作业,同一查询仅允许单个运行实例,需配置自动重试实现故障自愈,保障业务连续性。 2. 大数据作业集群成本优化规则:按需创建的作业集群仅在作业运行期间计费,无闲置资源消耗,相比长期运行的通用集群可大幅降低生产环境成本。 3. 结构化流容错机制:基于检查点和预写日志实现Exactly-Once语义,故障重启时可从检查点自动恢复处理状态,配置自动重试即可实现无人工干预的故障恢复。 参考资料: Databricks Structured Streaming Production Guide, https://docs.databricks.com/structured-streaming/production.html Apache Spark Structured Streaming Programming Guide - Fault Tolerance Semantics, https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#fault-tolerance-semantics
Data Engineer - Professional · Q4
问题 #4 数据工程团队配置了一个 Databricks SQL 查询和警报,用于监控 Delta Lake 表中的值。recent_sensor_recordings 表包含最近 5 分钟记录的时间戳和温度,以及一个标识性的 sensor_id。 以下查询用于创建警报: " target="_blank" rel="nofollow noopener">https://img.examtopics.com/certified-data-engineer-professional/image1.png"> 该查询设置为每分钟刷新一次,且始终在 10 秒内完成。警报设置为在平均温度 > 120 时触发。通知最多每 1 分钟发送一次。 如果此警报连续发出 3 分钟的通知后停止,则以下哪个陈述一定是正确的?
  • A.
    在连续三次查询执行中,所有传感器的总平均温度均超过 120。
  • B.
    查询连续三次运行均未响应 recent_sensor_recordings 表。
  • C.
    源查询连续三分钟未能正确更新,然后重新启动。
  • D.
    在连续三次查询执行中,至少一个传感器的最高温度记录值超过 120。
  • E.
    在连续三次查询执行中,至少一个传感器的平均温度记录值超过 120。

答案: E

本题考察Databricks SQL告警机制、时序数据监控查询逻辑这两个认证核心考点。首先明确题目给出的配置:查询每分钟调度执行一次,每次执行耗时不超过10秒,告警触发条件为平均温度大于120,通知发送间隔最小为1分钟。连续3分钟发送通知后停止,说明共有连续3次查询执行都满足告警触发条件,后续查询不再满足条件。结合表中包含sensor_id字段的结构特征,监控查询的平均温度指标为按sensor_id分组聚合的结果,只要存在任意一个传感器的平均温度超过阈值即可触发告警,因此只有E选项的陈述是必然成立的。 各选项分析: A. 错误,告警触发仅需要满足平均温度大于120的条件,不需要所有传感器的总平均超过阈值。实际场景中单个传感器平均温度远超阈值、其余传感器温度很低时,总平均可能低于120但仍会触发告警,因此该表述不是必然成立。 B. 错误,题目明确说明查询始终在10秒内完成,不存在未响应的情况,且查询未响应时不会正常执行告警逻辑、不会发送告警通知,因此该表述不符合题意。 C. 错误,题目未提及任何查询执行失败的信息,告警停止是因为后续查询不再满足触发条件,且查询始终能在10秒内完成说明运行状态正常,不存在更新失败后重启的情况,因此该表述错误。 D. 错误,告警触发条件是平均温度大于120,与单条记录的最高温度无关,即使所有单条温度记录都未超过120,只要一段时间内的平均温度超过阈值仍会触发告警,因此该表述的最高温度要求不成立。 E. 正确,告警每分钟触发一次,连续3分钟发送通知说明连续3次查询执行时,都存在至少一个传感器的平均温度超过120的阈值,完全符合告警触发逻辑,是唯一必然正确的陈述。 关键知识点: 1. Databricks SQL警报的触发逻辑:警报基于调度查询的执行结果判断触发条件,只有查询执行成功且结果满足预设阈值时才会触发通知,通知频率可配置避免重复告警。 2. 时序传感器数据的监控聚合逻辑:针对带设备标识的时序传感器数据,监控查询通常按设备标识分组聚合计算指标,单个设备的指标超过阈值即可触发告警。 3. Databricks SQL查询调度规则:定时调度的查询按配置的间隔重复执行,只有执行成功的查询才会进入告警条件判断环节,执行失败不会触发告警。 参考资料: Databricks SQL 警报官方指南, https://docs.databricks.com/sql/user/alerts/index.html Databricks 时序数据处理最佳实践
Data Engineer - Professional · Q5
问题 #5 一位初级开发人员抱怨说,他笔记本中的代码在开发环境中无法产生正确的结果。他分享的屏幕截图显示,虽然他使用的是通过 Databricks Repos 进行版本控制的笔记本,但他使用的是包含旧逻辑的个人分支。所需的名为 dev-2.3.9 的分支在分支选择下拉菜单中不可用。 哪种方法可以让这位开发人员查看此笔记本的当前逻辑?
  • A.
    使用 Repos 发起拉取请求,并使用 Databricks REST API 将当前分支更新到 dev-2.3.9。
  • B.
    使用 Repos 从远程 Git 存储库拉取更改并选择 dev-2.3.9 分支。
  • C.
    使用仓库检出 dev-2.3.9 分支,并自动解决与当前分支的冲突
  • D.
    将所有更改合并回远程 Git 仓库的主分支,然后再次克隆该仓库。
  • E.
    使用 Repos 将当前分支和 dev-2.3.9 分支合并,然后发起拉取请求以与远程仓库同步。

答案: B

本题核心问题是开发人员的Databricks Repos本地环境未同步远程Git仓库的最新分支信息,导致无法找到目标分支dev-2.3.9查看最新代码逻辑。根据Databricks Repos的设计逻辑,Repos本质是集成在Databricks工作区的Git客户端,所有远程仓库的更新包括新增分支都需要先执行拉取操作同步到本地,才能在分支选择菜单中看到对应分支,切换后即可查看该分支下的当前代码逻辑,这一操作路径符合Databricks数据工程场景下的Git操作最佳实践,能够高效、安全地解决题目中的问题。 各选项分析: A. 错误。拉取请求是用于不同分支间代码合并审核的操作,无法同步远程新增的分支到本地Repos环境,且不需要调用Databricks REST API即可完成分支切换的基础操作,该方案无法解决题目中找不到目标分支的问题。 B. 正确。在Databricks Repos中执行拉取操作会同步远程Git仓库的所有最新内容,包括新增的dev-2.3.9分支,拉取完成后即可在分支下拉菜单中找到该分支,选中后就能查看对应分支的当前代码逻辑,完全匹配题目需求,符合Databricks Repos的官方操作规范。 C. 错误。本地Repos未同步远程分支信息时,dev-2.3.9分支在本地不存在,无法直接执行检出操作,且Git冲突不能自动解决,需要开发人员手动校验处理,该方案前提不成立,操作逻辑也不符合规范。 D. 错误。开发人员当前个人分支的代码尚未验证正确性,直接合并到主分支会污染主分支的稳定代码,且重新克隆仓库属于冗余操作,会丢失本地未提交的合法更改,完全不符合代码管理的最佳实践。 E. 错误。本地Repos未同步远程分支时无法找到dev-2.3.9分支,无法执行合并操作,且合并、发起拉取请求是用于提交本地代码到远程的操作,不是获取远程现有分支代码的正确路径,无法满足题目查看当前逻辑的需求。 关键知识点: 1. Databricks Repos Git同步机制:Databricks Repos作为集成化Git客户端,需要执行拉取操作才能将远程仓库的最新分支、提交等内容同步到本地工作区,实现与远程仓库的状态一致。 2. Git分支基础操作规范:远程仓库新增的分支必须先同步到本地Git环境,才能在本地执行切换、检出等分支操作,未同步的分支无法在本地分支列表中显示。 3. Databricks Repos操作最佳实践:获取远程仓库的最新代码或分支信息时,优先使用拉取操作,避免不必要的合并、重新克隆等操作,降低代码污染、数据丢失的风险。 参考资料: 1. Git operations with Databricks Repos, https://docs.databricks.com/repos/git-operations-with-repos.html 2. Azure Databricks Repos Git operations, https://learn.microsoft.com/en-us/azure/databricks/repos/git-operations-with-repos

常见问题

Data Engineer - Professional 有多少道练习题?

本题库收录 Data Engineer - Professional 练习题共 338 道,含单选、多选等题型,每题配有答案与解析。

Data Engineer - Professional 练习题支持中英文吗?

支持,Data Engineer - Professional 练习题为中英双语对照,便于对照原文理解。

Data Engineer - Professional 练习题可以免费试做吗?

可以,本页提供免费样题在线试做;完整题库可在掌学兔注册后获取。